The increasing development of digital video/audio technology presents an ever increasing problem of reducing the high cost of compression codecs and resolving the inter-operability of equipment of different manufacturers. To achieve these goals, the Moving Picture Experts Group (MPEG) created the ISOIEC international Standards 11172 et seq. (1994) (generally referred to as MPEG-1) and 13818 et seq. (Jan. 20, 1995 draft) (generally referred to as MPEG-2), which are incorporated herein in their entirety by reference. One goal of these standards is to establish a standard coding/decoding strategy with sufficient flexibility to accommodate a plurality of different applications and services such as desktop video publishing, video conferencing, digital storage media and television broadcast.
Although the MPEG standards specify a general coding methodology and syntax for generating a MPEG compliant bitstream, many variations are permitted in the values assigned to many of the parameters, thereby supporting a broad range of applications and interoperability. In effect, MPEG does not define a specific algorithm needed to produce a valid bitstream. Furthermore, MPEG encoder designers are accorded great flexibility in developing and implementing their own MPEG-specific algorithms. This flexibility fosters development and implementation of different MPEG-specific algorithms, thereby resulting in product differentiation in the marketplace.
Digital decoders (such as MPEG audio decoders) present a difficult testing problem when compared to analog systems. An analog system has minimal or no memory and is generally linear, such that the system's behavior is instantaneous. Thus, the behavior of an analog system can be extrapolated from one signal range to another.
In contrast, digital decoders are highly non-linear and often contain memory. A digital decoder may operate normally over a certain range of a certain parameter, but may fail dramatically for certain other values. In essence, the behavior of a digital decoder cannot be extrapolated from one signal range to another.
Generally, the testing of complex digital systems such as decoders is performed by stimulating the decoder under test with a known sequence of data, and then analyzing the output data sequences or the intermediate data sequences using, e.g., a logic analyzer, to determine if the results conform to expectations. Although this is an effective testing technique, it requires extensive knowledge of the circuit implementation or observation of internal nodes of the particular decoder.
However, in many instances the decoder is a "black-box" that accepts a bitstream (encoded signal) as input and provides a digital or analog representation of the decoded signal as an output. Due to product differentiation in the marketplace, it may not be possible to acquire such technical information for all decoders. In fact, even if such technical information is available, it may not be cost effective to construct a different test sequence for every decoder.
Therefore, a need exists in the art for a method and apparatus for testing MPEG-like decoders without prior knowledge of the particular circuit implementation of any particular decoder. Specifically, a need exists for a method and apparatus for creating a test sequence or bitstream that will produce audibly detectable errors in the audio signal produced by an audio decoder if the decoder does not properly decode the bitstream.